<?php

require 'config.php';
require CAMINHO_SERVIDOR.'funcoes.php';
require 'dao/amigoDAO.class.php';
$format = strtolower($_GET['format']) == 'json' ? 'json' : 'xml'; //xml is the default
$id_user = $_GET['id_usuario'];
$acao = $_GET['acao'];
$amigoDao = new amigoDAO();
if ($acao == 1) {
    //seleciona todos amigos pendentes
    $posts = $amigoDao->meusAmigosPendentes($id_user);
}
if ($acao == 2) {
    if (!empty($_POST["dados"])) {
        if ($_POST["dados"] === "null") {
            //deletar todas as pendencias de amigos
            $result = $amigoDao->deleteDesafiosPendentesByUsuario($id_user);
        } else {
            $dados = explode(":", $_POST["dados"]);
            for ($i = 0; $i < count($dados); $i++) {
                $id_amigo_pendente = $amigoDao->pegaIdUserByIdFace($dados[$i]);
                if (!empty($id_amigo_pendente)) {
                    //verificar se ele já é amigo
                    $existeAmizade = $amigoDao->existeAmigo($id_user, $id_amigo_pendente);
                    if (empty($existeAmizade)) {
                        //verifica se ele me desafiou
                        $id_amizade_pendente_inversa = $amigoDao->existeDesafio($id_user, $id_amigo_pendente);
                        //se ele ainda não me desafiou
                        if (empty($id_amizade_pendente_inversa)) {
                            //verifica se já existe o desafio
                            $id_amizade_pendente = $amigoDao->seJaDesafiei($id_user, $id_amigo_pendente);
                            if (empty($id_amizade_pendente)) {
                                //faço desafio
                                $result = $amigoDao->desafiarAmigo($id_user, $id_amigo_pendente);
                            }
                        } else {
                            $amigoDao->addComoAmigoBolao($id_user, $id_amigo_pendente);
                        }
                    }
                }
            }
            $qrDelete = "DELETE FROM tb_amigos_pendentes WHERE id_usuario = " . $id_user;
            $exec = false;
            for ($i = 0; $i < count($dados); $i++) {
                $id_amigo_pendente_del = $amigoDao->pegaIdUserByIdFace($dados[$i]);
                if (!empty($id_amigo_pendente_del)) {
                    $exec = true;
                }
                $qrDelete.=" AND id_amigo_pendente <> " . $id_amigo_pendente_del;
            }
            if ($exec) {
                $result = $amigoDao->executaQuery($qrDelete);
            }
        }
    }
}
if ($acao == 3) {
    //seleciona todos ids facebook no banco
    $posts = $amigoDao->selecionaIdsAllUserFacebook();
}
if ($format == 'json') {
    if (empty($posts)) {
        $postVazio = array();
        $postVazio[] = array('resultado' => $qrDelete);
        echo json_encode(array('posts' => $postVazio));
    } else {
        echo json_encode(array('posts' => $posts));
    }
} else {
    header('Content-type: text/xml');
    echo '<posts>';
    foreach ($posts as $index => $post) {
        if (is_array($post)) {
            foreach ($post as $key => $value) {
                echo '<', $key, '>';
                if (is_array($value)) {
                    foreach ($value as $tag => $val) {
                        echo '<', $tag, '>', htmlentities($val), '</', $tag, '>';
                    }
                }
                echo '</', $key, '>';
            }
        }
    }
    echo '</posts>';
}
$amigoDao->fecharConexao();
?>